Display controlling apparatus and image processing apparatus

ABSTRACT

A display controlling apparatus that is capable of communicating with an image processing apparatus that sends image data to the display controlling apparatus in response to a notification from the display controlling apparatus, includes the following elements: a sending unit configured to send the notification to the image processing apparatus; a first receiving unit configured to receive the image data sent from the image processing apparatus in response to the notification; and a first computing unit configured to compute a first time required to display the image data received by the first receiving unit. The sending unit sends a new notification to the image processing apparatus at a timing based on the first time computed by the first computing unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image transmission system and animage transmission method of sending an image generated by aninformation processing apparatus such as a personal computer(hereinafter abbreviated as “PC”) to a display controlling apparatussuch as a projector.

2. Description of the Related Art

Recently, projectors that project image signals received from PCs ontoscreens are often used when presentations are given at conferences andseminars.

Image signals are sent and received between a PC and a projectorgenerally by establishing an analog connection using an analog RGBcable. Now, attention has been paid to an image transferring system thatconnects a PC to a projector via a network, because of the followingreasons: it is bothersome to establish an analog connection; it isdifficult to establish a connection from a remote place; and there is aneed to connect multiple PCs to a projector.

In order to realize this image transferring system, so-called screencapturing has been periodically performed on a screen displayed on animage processing apparatus such as a PC, and image data obtained by thescreen capturing has been sent to a display apparatus such as aprojector.

In the above-described image transferring system, a delay time occursuntil the screen captured by using the PC is transmitted to a networkand the transmitted screen data is displayed on the projector. When thedelay time becomes longer, the user feels uncomfortable when operatingthe PC while looking at the projector. It thus becomes necessary toreduce the delay time. When the screen is to be captured at certainintervals, even images where the screen is unchanged are sent. Sincesuch redundant images are sent, the delay time is increased. Therefore,the screen capturing is generally performed at a timing at which thescreen of the PC is updated.

Japanese Patent Laid-Open No. 2006-262116 discloses a method ofmonitoring the most recent screen stored in a screen storage unit andthe subsequent screen stored in a video memory by using a screen changemonitoring unit. When it is determined that the most recent screen ischanged, the screen stored in the video memory is captured, and thecaptured screen is sent from an image sending unit via a network to animage receiving apparatus.

Normally, an image obtained by capturing the screen by using a PC is,for example, compressed and sent to a display apparatus. The displayapparatus, which has received the compressed image data, decodes thecompressed image data and displays the decoded image data. In general, adisplay apparatus whose processing rate is low takes time to decodedata. Therefore, when an image captured after the screen has beenupdated is sent from the PC, the display apparatus is still decoding theprevious image. It takes time for the display apparatus to be ready toprocess the received image. As a result, data transfer is notefficiently performed, and a delay time until the screen captured by thePC is actually displayed on the display apparatus is increased.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, there is provided adisplay controlling apparatus that is capable of communicating with animage processing apparatus that sends image data to the displaycontrolling apparatus in response to a notification from the displaycontrolling apparatus. The display controlling apparatus includes thefollowing elements: a sending unit configured to send the notificationto the image processing apparatus; a first receiving unit configured toreceive the image data sent from the image processing apparatus inresponse to the notification; and a first computing unit configured tocompute a first time required to display the image data received by thefirst receiving unit. The sending unit sends a new notification to theimage processing apparatus at a timing based on the first time computedby the first computing unit.

According to an aspect of the present invention, there is provided animage processing apparatus that is capable of communicating with adisplay controlling apparatus. The image processing apparatus includesthe following elements: a capturing unit configured to capture imagedata; a sending unit configured to send the image data captured by thecapturing unit to the display controlling apparatus; and a receivingunit configured to receive a first time required for the displaycontrolling apparatus to display the image data sent by the sendingunit. The capturing unit captures new image data at a timing based onthe first time received by the receiving unit.

Further features and aspects of the present invention will becomeapparent from the following description of exemplary embodiments withreference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate exemplary embodiments, featuresand aspects of the present invention and, together with the description,serve to explain the principles of the present invention.

FIG. 1 is a system diagram of a PC and a projector according to anembodiment.

FIG. 2 is a schematic block diagram of the embodiment.

FIG. 3 is a flowchart illustrating a process of computing the processingrate of the PC according to a first embodiment.

FIG. 4 is a flowchart illustrating a process performed by the PCaccording to the first embodiment.

FIG. 5 is a flowchart illustrating a process performed by the projectoraccording to the first embodiment.

FIG. 6 is a flowchart illustrating a process performed by the PCaccording to a second embodiment.

FIG. 7 is a flowchart illustrating a process performed by the projectoraccording to the second embodiment.

FIG. 8 is a diagram illustrating the flow of the entire processingaccording to the first embodiment.

FIG. 9 is a diagram illustrating the flow of the entire processingaccording to the second embodiment.

FIG. 10 is a flowchart illustrating a process performed by the PCaccording to the second embodiment.

FIG. 11 is a flowchart illustrating a process performed by the PCaccording to the second embodiment.

FIG. 12 is a flowchart illustrating a process performed by the PCaccording to the second embodiment.

FIG. 13 is a flowchart illustrating a process performed by the projectoraccording to the second embodiment.

DESCRIPTION OF THE EMBODIMENTS

Exemplary embodiments, features and aspects of the present inventionwill now be described in detail below with reference to the attacheddrawings.

FIG. 1 is a diagram illustrating an image transmission system accordingto an embodiment of the present invention in which an image processingapparatus and a display controlling apparatus are connected to eachother so that they can communicate with each other. An imagetransmission system 10 of the present embodiment includes a PC 100 whichis an example of the image processing apparatus and a projector 200which is an example of the display controlling apparatus. The PC 100 andthe projector 200 form a network via a local area network (LAN) 300. Therole of each apparatus will be briefly described. The PC 100 can send animage signal displayed on a display to the projector 200 via thenetwork. The projector 200 receives an image signal sent from the PC100, converts the image signal into a format that can be output, anddisplays the image signal. At the same time, a pointer on a Windows®system of the PC 100 is operated by using a mouse 100 a. Apart from theimage data, the pointer display position is sent to the projector 200.The Windows® system is a graphical user interface (GUI) realized byWindows®, which is Microsoft's operating system (hereinafter abbreviatedas “OS”). With a GUI, unique regions are allocated to multiple tasks,and screen outputs can be multiplexed.

In the present embodiment, FIG. 2 is a schematic block diagram of adisplay system 400 including the PC 100 and the projector 200illustrated in FIG. 1.

The PC 100 includes a central processing unit (CPU) 101, a read-onlymemory (ROM) 102 for storing control programs describing proceduresperformed by the CPU 101, and a random-access memory (RAM) 103 thatserves as a work memory and temporarily stores control programs anddata. The PC 100 further includes a hard disk drive (HDD) 104 forstoring programs such as applications and OS, and data, and an encoder105 for compressing display data to be displayed by the PC 100. The PC100 further includes a network interface (IF) 106 that is an interfacefor communicating with the projector 200, a server, or the like via theLAN 300 or the like, and a user IF 107 that processes a user inputentered by using a keyboard or a pointing device (mouse 100 a). The PC100 further includes a video RAM (VRAM) 108 storing an image to bedisplayed by the PC 100, an image processor 109, a display controller110, a display unit 111 such as a liquid crystal display (LCD), and aninternal bus 112 that interconnects these elements.

The projector 200 includes a CPU 201, a ROM 202 for storing controlprograms describing procedures performed by the CPU 201, and a RAM 203that serves as a work memory and temporarily stores control programs anddata. The projector 200 further includes a decoder 204 for decodingcompressed data that has been compressed in a certain compressionformat. The projector 200 further includes a network IF 205 that is aninterface for connecting to the PC 100, and a user IF 206 that processesa user input entered by using various operation buttons, an operatingremote control, or the like. The projector 200 further includes aprojection controller 207 for outputting an image, a projecting unit 208that includes a liquid crystal panel onto which an input image isprojected, a driver for driving the liquid crystal panel, a lens, adriving system for driving the lens, and a light source, and an internalbus 209 that interconnects these elements. Each of the PC 100 and theprojector 200 has a timer for measuring time.

The hardware structure of each apparatus in the present embodiment isnot limited to the foregoing. For example, one piece of hardware maycontrol each apparatus, or multiple pieces of hardware may individuallyperform parts of processing and control the overall apparatus.

In the present embodiment, the PC has been used as an example of theimage processing apparatus, and the projector has been used as anexample of the display controlling apparatus. However, the imageprocessing apparatus and the display controlling apparatus are notlimited to these apparatuses. For example, examples of the imageprocessing apparatus include a digital camera and a cellular phone, andexamples of the display controlling apparatus include a television andan apparatus that controls a display such as a monitor.

FIG. 8 illustrates the outline of processing performed by the PC 100 andthe projector 200 in the present embodiment. After the PC 100 performs aseries of processes including a screen capturing process and an imagedata compressing process (801), the PC 100 sends the image data to theprojector 200 (803). The projector 200, which has received the imagedata, performs a series of processes including an image data decodingprocess and an image data displaying process (802). In order that thenext image data will be sent immediately after displaying on theprojector 200 is completed, the projector 200 sends, before displayingis completed, a screen capturing permission notification to the PC 100while executing the process in 802 (804). The screen capturing is, byusing a driver, obtaining screen data displayed on the display unit 111of the PC 100 and temporarily storing the screen data in the RAM 103.

The PC 100, which has received the notification, can capture the screenand send the next image data at a timing at which processing performedby the projector 200 is completed (805).

The foregoing is the outline of the processing performed by the PC 100and the projector 200. Referring now to FIGS. 3 to 5, processesperformed by the PC 100 and the projector 200 will be described indetail.

FIG. 3 is a flowchart illustrating the flow of a process performed untila notification of the processing rate of the PC 100 is sent to theprojector 200 before the screen is sent. The process in the flowchartillustrating the operation of the PC 100 below is realized bycontrolling, with the CPU 101, each unit of the PC 100 in accordancewith a program and input signals.

The flowchart is started when the PC 100 reads an image transferringprogram from the HDD 104. When the program is started, a measurement ofa processing time T1tmp is started immediately before an image displayedon the PC 100 is captured (S001).

Next, image data is obtained from the VRAM 108, which stores image datafor capturing image data displayed on the display unit 111 (S002).

When obtaining of the image data is completed, the obtained image datais compressed in a certain compression format such as Joint PhotographicExperts Group (JPEG) (S003). At this time, any compression format may beused.

The measurement is stopped immediately after the compression iscompleted. Accordingly, the processing time T1tmp elapsed in steps S002and S003 is measured (S004). The measured processing time T1tmp isstored in the RAM 103.

It is determined whether the processing in steps S001 to S004 describedabove has been performed and the processing time T1tmp has been measureda number of times defined by the image transferring program (S005). Whenthe processing has not been performed the defined number of times andthe processing time T1tmp has not been measured the defined number oftimes, the processing in steps S001 to S004 is performed again. When theprocessing has been performed the defined number of times and theprocessing time T1tmp has been measured the defined number of times, theflow proceeds to the next processing.

Next, an average T1avg of the processing times T1tmp measured byrepeating the processing in steps S001 to S004 the defined number oftimes, and the processing rate are computed (S006).

When the average T1avg is computed, a notification of the averageprocessing time T1avg and the processing rate of the PC 100 is sent tothe projector 200 via the network IF 106 (S007). At this point, thecaptured image data has not been sent to the projector 200 yet.

The process of measuring the processing rate of the PC 100 beforesending image data has been described above. Referring now to FIG. 4,the flow of a process to be executed by the PC 100 in accordance withthe image transferring program after a user gives an instruction tostart sending image data will be described.

When the previous screen has already been captured, the just capturedimage data and the size thereof are stored in the RAM 103. Whether thesize of the just captured image data stored in the RAM 103 is greaterthan a size defined by the image transferring program is determined(S101).

When it is determined in step S101 that the size stored in the RAM 103is greater than the defined size, an average processing time T2avg ofthe sum of processing times required in processes including capturing,difference checking, compression, and communication performed by the PC100, and a processing rate of the PC 100 are computed (S102). Theaverage processing time T2avg is the average of times T2tmp required forthe processing in steps S107 to S110 described later. Although T2avg hasbeen described as the average of the sum of processing times in stepsS107 to S110, the average processing time may be obtained in eachprocess.

Next, a notification of the computed average processing time T2avg andthe processing rate is sent to the projector 200 via the network IF 106(S103).

When the notification is completed, the PC 100 waits for a capturingpermission command from the projector 200 (S104). The capturingpermission is a signal to be sent by the projector 200 at a timing inaccordance with its processing state.

When the PC 100 receives the capturing permission via the network IF106, the PC 100 determines whether there is a change in what isdisplayed on the display unit 111 (S105). Whether there is a change inwhat is displayed on the display unit 111 is determined by inquiring ofa driver program that controls the image processor 109 about whetherwhat is displayed on the display unit 111 is updated and causing thedriver program to send a notification of whether there is a change.

When it is determined in step S101 that the stored size is less than orequal to the defined size, the processing in steps S102 to S104described above is skipped, and whether there is a change in what isdisplayed on the display unit 111 is determined (S105). When theprocessing in step S101 is performed for the first time, there is noimmediately previous captured image. Thus, the processing in steps S102to S104 is skipped, and the flow proceeds to step S105.

When there is a change in image data in step S105, a measurement of theprocessing time T2tmp is started (S106).

When the measurement is started, image data is obtained from the VRAM108, which stores image data for capturing image data displayed on thedisplay unit 111 (S107). The captured image data is stored in the RAM103.

Next, the place where there has been a change is specified by comparingthe stored image data with the immediately previous image data (S108).

When the place where there has been a change is specified, a region ofthe changed image data is compressed by the encoder 105 in a certaincompression format, such as JPEG (S109). At this time, any compressionformat may be used. When there is no encoder 105, the image iscompressed using a compression program.

Next, the compressed image data is sent via the network IF 106 to theprojector 200 (S110). When sending is completed, the measurement isstopped, and the processing time T2tmp elapsed in steps S107 to S110 iscomputed (S111). Although T2tmp has been described as the processingtime T2tmp elapsed in steps S107 to S110, the processing time may bemeasured in each step. The measured processing time T2tmp is stored inthe RAM 103.

The processing in step S101 will be described in detail. In the presentembodiment, it is assumed that a certain amount of time is required,from receiving of image data at the projector 200 to actually projectingthe image by using the projector 200. That is, when the size of imagedata being projected by the projector 200 is great to a certain degree,image data can be efficiently sent by sending the image data from the PC100 in response to a capturing permission that is sent at a timing ofthe projector 200.

In contrast, when the size of image data being projected by theprojector 200 is small and it does not take much time until projection,it is more efficient for the PC 100 not to wait for a capturingpermission and to immediately execute capturing and sending of imagedata. Therefore, in the flowchart illustrated in FIG. 4, when the imagesize is greater than the defined size in step S101, the PC 100 waits fora capturing permission from the projector 200 in step S104. Only ifthere is a capturing permission, the PC 100 captures image data in stepS107 and sends the captured image data. When the image size is less thanor equal to the defined size in step S101, step S104 is skipped, and thePC 100 captures image data in step S107 and sends the captured imagedata.

Because of the foregoing reason, also in the process illustrated in FIG.7 below, the projector 200 sends no capturing permission to the PC 100when the size of the image data is less than or equal to the definedsize.

Referring now to FIG. 5, a process of receiving, at the projector 200,the processing time of the PC 100, which is sent from the PC 100, willbe described.

The projector 200 receives, at the network IF 205, the averageprocessing time T1avg or T2avg sent from the PC 100 via the network IF106, stores the received average processing time T1avg or T2avg in theRAM 203, and terminates the process (S201).

Alternatively, in step S201, the projector 200 may receive informationregarding the capability of the PC 100, such as the image data decodingcapability, and calculate the average processing time T1avg or T2avg.

FIG. 6 is a flowchart illustrating a process performed by the projector200 of receiving and displaying image data in accordance with an imageprocessing program. The process in the flowchart illustrating theoperation of the projector 200 below is realized by controlling, withthe CPU 201, each unit of the projector 200 in accordance with theprogram and input signals.

First, image data received from the network IF 205 is stored in the RAM203 (S211). A header exists at the beginning of the image data andincludes information such as a compression format and a size of theimage data. The information such as a compression format and a size ofthe image data is also stored in the RAM 203.

When an amount of image data that is sufficient for starting decoding ofthe image data is received, a measurement of a processing time TPt ofthe projector 200 is started (S212).

When the measurement is started, a remaining processing time TPr iscomputed from the size information of the image data, which is includedin the header of the image data, and a processing rate (bit rate) of theprojector 200 that is defined in advance in the program of the projector200 (S213). Alternatively, the processing time TPr may be obtained bydividing the image size (Mbyte) by the processing rate (Mbps) computedin step S219 below.

When the remaining processing time TPr is obtained, a capturingpermission notification program for sending a notification of acapturing permission, which is illustrated in FIG. 7, is activated(S214).

Next, the decoder 204 decodes the image data (S215). If the projector200 includes no decoder 204, the image data may be decoded using adecoding program.

After decoding is completed, the image is projected by the projectingunit 208 via the projection controller 207 (S216). When the sent imagedata is not for the entire screen but for a part of the screen, theimage data for the part of the screen is updated and displayed.

When projection is completed, the measurement of the processing time TPtof the projector 200, which has been measured since step S212, isstopped, and the processing time of processing performed by theprojector 200 is stored in the RAM 203 (S217).

Next, whether the size of the received image data is greater than thedefined size is determined (S218). When the image size is greater thanthe defined size, the measured processing time TPt of the projector 200is combined with a known measurement result, thereby computing anaverage processing time TPavg and a processing rate (S219). Thus, theprocess is terminated. In contrast, when the size of the received imagedata is less than or equal to the defined size, the processing time TPtis not used in computing the average, and the process is terminated.

Referring now to FIG. 7, an example of the operation of the projector200 in the process of sending a notification of a capturing permissionfrom the projector 200 to the PC 100 will be described.

The process illustrated in FIG. 7 is started by activating the capturingpermission notification program in step S214 described above.

When the size of the received image data is greater than the sizedefined by the program, the processing in the next step is performed;when the size is less than or equal to the defined size, the process isterminated (S221).

When the size of the image data is greater than the defined size, theremaining processing time TPr, which is computed in step S213 and whichis until the image is projected by the projector 200 onto the projectingunit 208, is compared with the average processing time T1avg or T2avg ofthe PC 100, which is received in step S201 (S222). Two methods ofcomputing the processing time of the PC 100 are available. One method isa method of using the received processing time as it is as theprocessing time of the PC 100. The other method is a method of computingthe processing time of the PC 100 from the received processing time(Mbps) and the average data size (Mbyte) of, among items of image data,items of image data whose size exceeds the defined size.

When the average processing time T1avg or T2avg of the PC 100 is greaterthan or equal to the remaining processing time TPr of the projector 200,the projector 200 is in a state where the projector 200 will havecompleted the processing before the next image data is sent from the PC100. Therefore, the projector 200 immediately sends a notification of acapturing permission via the network IF 205 to the PC 100 (S223). Incontrast, while the average processing time T1avg or T2avg of the PC 100is less than the remaining processing time TPr of the projector 200, theprocess is returned to step S222.

When multiple projectors are connected to the PC 100, capturing isexecuted in accordance with a capturing permission sent from one of theprojectors that first sent the capturing permission to the PC 100.

As described above, the projector 200 receives the processing rate ofthe PC 100, computes an appropriate capturing timing from the processingrate of the PC 100 and the processing rate of the projector 200, andsends a notification of a capturing permission at the computed timing.In this manner, image data can be sent at an appropriate timing bycomputing an appropriate capturing timing in accordance with theperformance of the apparatuses using a first time and a second time thatare the time needed for the PC 100 and the time needed for the projector200, respectively.

In the first embodiment, the projector 200 sends a notification of acapturing permission in accordance with its processing state, and the PC100 performs capturing in accordance with the capturing permission. Incontrast, in the present embodiment, the PC 100 computes a capturingprocessing timing and performs capturing.

Since many portions in the present embodiment are common to those in thefirst embodiment, descriptions of the common portions are omitted, andportions that are unique to the present embodiment will be mainlydescribed.

FIG. 9 illustrates the outline of processing performed by the PC 100 andthe projector 200 in the present embodiment.

The projector 200 sends the processing time to the PC 100 (901).

Next, the PC 100 receives the processing rate of the projector 200,which is sent from the projector 200 (902).

Next, after the PC 100 performs a series of processes including a screencapturing process and an image data compressing process (903), the PC100 sends the image data to the projector 200.

The projector 200, which has received the image data, performs a seriesof processes including an image data decoding process and an image datadisplaying process (904). The PC 100 computes, on the basis of thereceived processing rate of the projector 200, a timing at which theprojector 200 can receive the next image data, and sets a standby time.When the standby time elapses, the PC 100 captures the screen, and sendsthe captured image data to the projector 200.

The foregoing is the outline of the processing. Hereinafter, thedetailed operation will be described.

FIG. 10 is a process of receiving, at the PC 100, the processing time ofthe projector 200, which is sent from the projector 200.

As illustrated in FIG. 10, the PC 100 receives the processing time andthe processing rate TP2avg of the projector 200, which are sent from theprojector 200, via the network IF 106, stores the received averageprocessing time TP2avg and the processing rate of the projector 200 inthe RAM 103, and terminates the process (S301). Computation of theaverage processing time TP2avg will be described later.

FIG. 11 is a flowchart illustrating an example of a process executed bythe PC 100, which captures and sends a screen, in accordance with theimage transferring program.

First, whether there is a change in image data to be displayed isdetermined (S311). Whether there is a change in what is displayed on thedisplay unit 111 is determined by inquiring of a driver program thatcontrols the image processor 109 about whether what is displayed on thedisplay unit 111 is updated and causing the driver program to send anotification of whether there is a change.

When there is a change in the image data, a measurement of a processingtime T3tmp of the PC 100 is started (S312).

When the measurement is started, image data is obtained from the VRAM108, which stores image data for capturing image data displayed on thedisplay unit 111 (S313). The captured image data is stored in the RAM103.

Next, the place where there has been a change is specified by comparingthe stored image data with the immediately previous image data (S314).

When the place where there has been a change is specified, a region ofthe changed image data is compressed by the encoder 105 in a certaincompression format, such as JPEG (S315). At this time, any compressionformat may be used. When there is no encoder 105, the image iscompressed using a compression program, and the compressed data isstored in the RAM 103.

The compressed image data is sent via the network IF 106 to theprojector 200 (S316).

When sending is completed, the processing time T3tmp elapsed in stepsS313 to S316 is computed (S317). Although T3tmp has been described asthe processing time T3tmp elapsed in steps S313 to S316, the processingtime may be measured in each step. The measured processing time T3tmp isstored in the RAM 103.

Next, the size of the image data sent in step S316 is obtained from theRAM 103, and the size is compared with the size defined by the imagetransferring program (S318). When the size is greater than the definedsize, an average processing time T3avg is computed from the measurementresult of the processing time of the PC 100, which is obtained in stepS317, and a known processing time (S319).

The average processing time T3avg of the PC 100, which is computed instep S319, is compared with the average processing time TP2avg of theprojector 200, which is received from the projector 200 in step S301.When the average processing time TP2avg of the projector 200 is lessthan or equal to the average processing time T3avg of the PC 100, theprocess is terminated (S320). Otherwise, the difference between theaverage processing time TP2avg of the projector 200 and the averageprocessing time T3avg of the PC 100 is computed, the difference isstored in the RAM 103, and the process is terminated (S321). When whatis received from the projector 200 is the processing rate (bit rate) ofthe projector 200, the processing time is computed by calculating anoperation. Specifically, the average data size (Mbyte) of items of imagedata whose size is greater than the defined size in step S318 is dividedby the processing rate (Mbps), thereby computing the average processingtime TP2avg of the projector 200.

After the foregoing process is terminated, a standby processing programillustrated in FIG. 12 is activated (S322).

FIG. 12 illustrates an example of the flow of a process executed by thePC 100 in accordance with the standby processing program.

This program is executed in accordance with the standby processingprogram after the image transferring program illustrated in FIG. 11 isterminated. Alternatively, the following process may be embedded intothe image transferring program and may be executed by the PC 100.

First, in step S321, whether a difference between processing times ofthe projector 200 and the PC 100 has been set is determined from a valuestored in the RAM 103 (S331).

Next, as time elapses, the processing time difference is decremented bythe elapsed time (S332).

Whether the processing time difference becomes zero or less isdetermined (S333). When the processing time difference becomes zero orless, the image transferring program is activated in order to capturethe next screen, and the process is terminated (S334). When theprocessing time difference is greater than zero, the processing timedifference is decremented.

FIG. 13 illustrates the flow of a process performed by the projector 200in the present embodiment.

Image data received via the network IF 205 is stored in the RAM 203(S401). A header exists at the beginning of the image data and includesinformation such as a compression format and a size of the image data.The information such as a compression format and a size of the imagedata is also stored in the RAM 203.

When an amount of image data that is sufficient for starting decoding ofthe image data is received, a measurement of the processing time TP2tmpof the projector 200 is started (S402).

Next, the decoder 204 decodes the image data (S403). If the projector200 includes no decoder 204, the image data may be decoded using adecoding program.

After decoding is completed, the image is projected by the projectingunit 208 via the projection controller 207 (S404). When the sent imagedata is not for the entire screen but for a part of the screen, theimage data for the part of the screen is updated and displayed.

When projection is completed, the measurement of the processing timeTP2tmp of the projector 200, which has been measured since step S402, isstopped, and the processing time of processing performed by theprojector 200 is stored in the RAM 203 (S405).

Next, whether the size of the received image data is greater than thedefined size is determined (S406). It is assumed that the size of theimage data has been obtained from the size information of the imagedata, which is included in the header of the image data.

When the image data size is greater than the defined size, the measuredprocessing time TP2tmp of the projector 200 is combined with a knownmeasurement result, thereby computing the average processing time TP2avgand the processing rate (S407). In contrast, when the size of thereceived image data is less than or equal to the defined size, the datais not used in computing the average, and the process is terminated.

A notification of the computed average processing time TP2avg and theprocessing rate is sent via the network IF 205 to the PC 100 (S408).

When multiple projectors are connected to the PC 100, one of theprojectors that has the shortest processing time or the highestprocessing rate serves as a reference. In step S321, the processing timedifference is computed from the processing time or the processing rateof the projector serving as a reference. In accordance with the computedprocessing time difference, a determination is made in step S333.

As described above, the PC 100 receives the processing rate of theprojector 200, computes an appropriate capturing timing from theprocessing rate of the PC 100 and the processing rate of the projector200, and performs capturing at the computed timing. In this manner,image data can be efficiently sent at an appropriate timing.

The present invention may be achieved by supplying a storage mediumstoring program code of software for realizing the functions of theforegoing embodiments to an apparatus, and reading and executing theprogram code stored in the storage medium by using a computer (or a CPUor a microprocessing unit (MPU)) of the apparatus.

In this case, the program code itself read from the storage mediumrealizes the functions of the foregoing embodiments, and the programcode itself and a storage medium storing the program code constitute thepresent invention.

Examples of the storage medium used to supply the program code include aflexible disk, a hard disk, an optical disk, a magneto-optical disk, acompact-disc read-only memory (CD-ROM), a compact disc-recordable(CD-R), a magnetic tape, a nonvolatile memory card, and a ROM.

An OS running on the apparatus may execute part of or the entirety ofactual processing on the basis of instructions of the program code torealize the functions of the foregoing embodiments.

Furthermore, the program code read from the storage medium may bewritten into a memory included a function expansion board placed in thecomputer or a function expansion unit connected to the computer, and mayexecute part of or the entirety of the processing to realize thefunctions of the foregoing embodiments. In this case, a CPU included inthe function expansion board or the function expansion unit may executethe actual processing on the basis of instructions of the program code.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the present inventionis not limited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures and functions.

This application claims the benefit of Japanese Patent Application No.2008-324172 filed Dec. 19, 2008, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image processing apparatus that is capable ofcommunicating with a display controlling apparatus, the image processingapparatus comprising: a receiving unit configured to receive informationrelated to the display controlling apparatus; a setting unit configuredto set an interval of an image sending process; a capturing unitconfigured to capture image data; a sending unit configured to sendimage data captured by the capturing unit to the display controllingapparatus; and a control unit configured to control the capturing unitto capture image data and to control the sending unit to send capturedimage data to the display controlling apparatus, based on theinformation related to the display controlling apparatus and theinterval of the image sending process set by the setting unit.
 2. Theimage processing apparatus according to claim 1, wherein the informationrelated to the display controlling apparatus includes a capability ofthe display controlling apparatus.
 3. The image processing apparatusaccording to claim 2, wherein the information related to the displaycontrolling apparatus includes processing capability of the displaycontrolling apparatus.
 4. The image processing apparatus according toclaim 1, further comprising a display unit, wherein the capturing unitcaptures image data being displayed on the display unit.
 5. The imageprocessing apparatus according to claim 4, further comprising aspecifying unit configured to specify a region where there has been achange by comparing newly captured image data with previously capturedimage data, wherein the sending unit is configured to send image data inthe changed region specified by the specifying unit.
 6. The imageprocessing apparatus according to claim 5, wherein the sending unit isfurther configured to send pointer information apart from the imagedata.
 7. The image processing apparatus according to claim 6, whereinthe display controlling apparatus includes a projection unit.
 8. Theimage processing apparatus according to claim 4, wherein the sendingunit is further configured to send pointer information apart from theimage data.
 9. The image processing apparatus according to claim 1,further comprising a video memory configured to store image data to bedisplayed on a display unit, wherein the capturing unit captures imagedata stored in the video memory.
 10. The image processing apparatusaccording to claim 1, further comprising a specifying unit configured tospecify a region where there has been a change by comparing newlycaptured image data with previously captured image data, wherein thesending unit is configured to send image data in the changed regionspecified by the specifying unit.
 11. The image processing apparatusaccording to claim 1, wherein the display controlling apparatus includesa projection unit.
 12. The image processing apparatus according to claim1, wherein the sending unit is further configured to send the image datacaptured by the capturing unit to the display controlling apparatus viaa network.
 13. The image processing apparatus according to claim 12,wherein the network includes a local area network (LAN).
 14. The imageprocessing apparatus according to claim 1, wherein the sending unit isfurther configured to send pointer information apart from the imagedata.
 15. The image processing apparatus according to claim 1, whereinthe setting unit is further configured to set the interval of the imagesending process by calculating processing time.
 16. A method forcontrolling an image processing apparatus that is capable ofcommunicating with a display controlling apparatus, the methodcomprising: receiving information related to the display controllingapparatus; setting an interval of an image sending process; capturingimage data; sending captured image data to the display controllingapparatus; and controlling the capturing of image data and the sendingof captured image data to the display controlling apparatus, based onthe information related to the display controlling apparatus and theinterval of the image sending process.
 17. A non-transitorycomputer-readable storage medium storing a computer program that causesa computer to execute a method for controlling an image processingapparatus that is capable of communicating with a display controllingapparatus, the method comprising: receiving information related to thedisplay controlling apparatus; setting an interval of an image sendingprocess; capturing image data; sending captured image data to thedisplay controlling apparatus; and controlling the capturing of imagedata and the sending of captured image data to the display controllingapparatus, based on the information related to the display controllingapparatus and the interval of the image sending process.
 18. Thenon-transitory computer-readable storage medium according to claim 17,wherein the information related to the display controlling apparatusincludes a capability of the display controlling apparatus.
 19. Thenon-transitory computer-readable storage medium according to claim 18,wherein the information related to the display controlling apparatusincludes processing capability of the display controlling apparatus. 20.The non-transitory computer-readable storage medium according to claim17, wherein the capturing process is configured to capture image databeing displayed on a display unit of the image processing apparatus. 21.The non-transitory computer-readable storage medium according to claim20, further comprising a specifying process configured to specify aregion where there has been a change by comparing newly captured imagedata with previously captured image data, wherein the sending process isconfigured to send image data in the changed region.
 22. Thenon-transitory computer-readable storage medium according to claim 21,wherein the sending process is configured to send pointer informationapart from the image data.
 23. The non-transitory computer-readablestorage medium according to claim 22, wherein the display controllingapparatus includes a projection unit.
 24. The non-transitorycomputer-readable storage medium according to claim 20, wherein thesending process is configured to send pointer information apart from theimage data.
 25. The non-transitory computer-readable storage mediumaccording to claim 17, wherein the capturing process is configured tocapture image data stored in video memory, the video memory configuredto store image data to be displayed on a display unit.
 26. Thenon-transitory computer-readable storage medium according to claim 17,further comprising a specifying process configured to specify a regionwhere there has been a change by comparing newly captured image datawith previously captured image data, wherein the sending process isconfigured to send image data in the changed region specified by thespecifying process.
 27. The non-transitory computer-readable storagemedium according to claim 17, wherein the display controlling apparatusincludes a projection unit.
 28. The non-transitory computer-readablestorage medium according to claim 17, wherein the sending process isconfigured to send the captured image data to the display controllingapparatus via a network.
 29. The non-transitory computer-readablestorage medium according to claim 28, wherein the network includes alocal area network (LAN).
 30. The non-transitory computer-readablestorage medium according to claim 17, wherein the sending process isconfigured to send pointer information apart from the image data. 31.The non-transitory computer-readable storage medium according to claim17, wherein the setting process is configured to set the interval of theimage sending process by calculating processing time.
 32. An imageprocessing apparatus that is capable of communicating with a projector,the image processing apparatus comprising: a receiving unit configuredto receive information related to the projector; a setting unitconfigured to set an interval of an image sending process; a capturingunit configured to capture image data; a sending unit configured to sendimage data captured by the capturing unit to the projector; and acontrol unit configured to control the capturing unit to capture imagedata and to control the sending unit to send captured image data to theprojector, based on the information related to the projector and theinterval of the image sending process set by the setting unit.